A remote terminal emulator (RTE) simulates use of a computer system under test by a user through a remotely coupled terminal. An RTE is used to test the computer system under test for such purposes as quality assurance and quantitative comparisons between respective computer systems. For example, a computer system under test may be designed to process data according to commands entered by multiple users simultaneously through multiple terminals coupled remotely to the computer system under test. Such a computer system can be tested without the assistance of actual users by simultaneous execution of RTEs which collectively simulate simultaneous use of the computer system under test by multiple users. Testing computer systems without the assistance of actual users has become an important component of the development of computer systems since such testing can be performed for very long periods of time and at times when other use of the computer system under test is typically light, e.g., over night. In addition, RTEs can be used to replicate identical operating environments in two or more respective computer systems to compare relative performance characteristics of the respective computer systems.
It is important that the simulation of an RTE of use of the computer system under test be as accurately reflective as possible of actual use of the computer system under test by an actual user. Otherwise, conclusions regarding performance characteristics of the computer system under test drawn from information obtained by emulated use effected by the RTE can be erroneous or inaccurate. As a result, evaluation of the computer system under test can result in over-estimation or under-estimation of the requisite computer system configuration to perform a particular task. For example, if the performance of the computer system under test is reported by an RTE overly optimistically, a systems administrator may configure the computer system under test with a central processing unit which is too slow to meet the systems administrator's needs when actually used. Conversely, if the performance of the computer system under test is reported by an RTE overly pessimistically, a systems administrator may unnecessarily increase the processing capacity of the computer system under test thereby incurring an necessary expense.
Typically, an RTE which emulates a remote terminal coupled to a computer system under test is a computer process executing on a second computer system, which is remotely coupled to the computer system under test. Such a computer process is sometimes called an RTE process. The RTE process transmits command signals to the computer system under test as if the command signals were entered through a remote terminal by an actual user of the computer system and receives resulting output data from the computer system under test. Simultaneous use by multiple users of a multi-user computer system under test is emulated using a remotely coupled computer system and multiple RTE processes which execute concurrently on the remotely coupled computer system.
RTEs are used to evaluate computer systems and, in general, performance characteristics such as response times and throughput for such computer systems. However, currently available RTEs provide insufficient information regarding the performance of a particular computer system under test to make specific, important conclusions regarding the performance. For example, conventional RTEs provide insufficient information regarding an emulated use of a computer system under test to determine what proportion of the time elapsing during the emulated use reflects processing by the computer system under test or what proportion of the time elapsing during the emulated use reflects administrative processing by the RTE. As a result, conclusions, such as the sufficiency of the processor of the computer system under test to perform a particular task, cannot be derived from such conventional RTEs with confidence.
What is therefore needed is an RTE which realistically simulates actual use of a computer system under test by a user and which reports sufficient information regarding the performance of the computer system under test to support specific, important conclusions regarding the performance.